package com.xiaolin.io;

import java.io.File;
import java.io.IOException;

/**
 * @ClassName TestFile
 * @Description TODO
 * @Detail 测试文件和目录
 * @Author MyPC
 * @Date 2020/10/5
 * @Version 1.0
 */
public class TestFile {
    public static void main(String[] args) throws IOException {
        //File file=new File("D:\\1file\\","haha.png");
        //File file=new File("D:\\1file\\haha\\haha");
        File file=new File("D:\\1file");
        //测试文件是否真实存在
        //System.out.println(file.exists());
        //获取文件名或目录名
        //System.out.println(file.getName());
        //删除真实文件或目录
        //System.out.println(file.delete());
        //创建目录，如果父目录不存在，则创建失败
        //System.out.println(file.mkdir());
        //递归创建目录,如果父目录不存在，则一起创建
        //System.out.println(file.mkdirs());
        //获取文件字节长度，如果是目录，则长度为0
        //System.out.println(file.length());
        //比较文件名是否相等,忽略大小写，相等则返回0
        //System.out.println(file.compareTo(new File("D:\\1file\\haha.png")));
        //获取文件名，即与创建文件时输入的文件名字符串保持一致（包括路径）
        //System.out.println(file.getPath());
        //获取文件绝对路径
        //System.out.println(file.getAbsolutePath());
        //测试应用程序是否可以执行此抽象路径名表示的文件。文件或目录真实存在则可以
        //System.out.println(file.canExecute());
        //测试应用程序是否可以读取由此抽象路径名表示的文件。 文件或目录真实存在则可以
        //System.out.println(file.canRead());
        //测试应用程序是否可以修改由此抽象路径名表示的文件。文件或目录真实存在则可以
        //System.out.println(file.canWrite());
        //创建新的文件，如果文件不存在则可以创建，如果文件存在则创建失败
        //System.out.println(file.createNewFile());
        //获取文件，相当于复制一个文件对象
        //File absoluteFile = file.getAbsoluteFile();
        //System.out.println(absoluteFile.getAbsolutePath());
        //获取文件，相当于复制一个文件对象
        //File canonicalFile = file.getCanonicalFile();
        //System.out.println(canonicalFile.getAbsolutePath());
        //文件是否隐藏
        //System.out.println(file.isHidden());
        //文件转成路径对象
        //Path path = file.toPath();
        //System.out.println(path);
        //文件转成URI对象
        //URI uri = file.toURI();
        //System.out.println(uri);
        //获取目录下第一层文件的文件名（包括目录和文件）
        //String[] list = file.list();
        //System.out.println(Arrays.toString(list));
        //获取目录下第一层文件的文件对象（包括目录和文件）
        //File[] files = file.listFiles();
        //System.out.println(files.length);
    }
}
